#ifndef SINGLEAPPLICATION_H
#define SINGLEAPPLICATION_H

#include <QtCore/QtCore>
#include <QtNetwork/QtNetwork>
#include <QtWidgets/QtWidgets>

#define TIME_OUT                (500)    // 500ms
class SingleApplication: public QCoreApplication
{
    Q_OBJECT
public:
    SingleApplication(int &argc, char **argv);
    bool isRunningFunction();               // 是否已经有实例在运行

private slots:
    // 有新连接时触发
    void newLocalConnection();

private:
    // 初始化本地连接
    void initLocalConnection();
    // 创建服务端
    void newLocalServer();
    // 激活窗口
    void activateWindow();
    bool m_isRunning;                // 是否已将有实例在运行
    QLocalServer *m_localServer;     // 本地socket Server
    QString m_serverName;            // 服务名称
};

#endif // SINGLEAPPLICATION_H
